<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class UsersInsertRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    
    //给校验请求授权
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    
    //设置规则
    public function rules()
    {
        return [
            //用户名规则 不能为空   regex 用正则  unique 唯一的规则 users 表名 多个规则用 | 隔开 
            'username'=>'required|regex:/\w{4,8}/|unique:users',
            //密码规则
            'password'=>'required|regex:/\w{6,18}/',
            // 重复密码规则 same  验证的字段和指定的字段的值是否一致 password 指定的值
            'repassword'=>'required|regex:/\w{6,18}/|same:password',
            // 邮箱规则
            'email'=>'required|email|unique:users',
            // 电话规则
            'phone'=>'required|regex:/\d{11}/|unique:users',
        ];
    }

    //自定义错误消息
    public function messages() {
        return[
            //用户名
            'username.required'=>'用户名不能为空',
            'username.regex'=>'用户名必须为4-8位的任意数字字母下划线',
            'username.unique'=>'用户名不能重复',

            //密码
            'password.required'=>'密码不能为空',
            'password.regex'=>'密码必须为6-16位的任意数字字母下划线',

             //重复密码           
            'repassword.required'=>'重复密码不能为空',            
            'repassword.regex'=>'重复密码必须为6-16位的任意数字字母下划线',            
            'repassword.same'=>'两次密码不一致',

            //邮箱            
            'email.required'=>'邮箱不能为空',            
            'email.email'=>'邮箱格式不符合',
            'email.unique'=>'邮箱不能重复',


            //电话            
            'phone.required'=>'电话不能为空',            
            'phone.regex'=>'电话不符合规则',
            'phone.unique'=>'电话不能重复',
        ];
    }
}
